package crs.solicitudes.sesiones.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import crs.dispositivos.model.CrsDispositivos;
import crs.perfiles.model.CrsPerfilMedico;
import crs.solicitudes.model.CrsSolicitudes;
import crs.users.model.Users;
/**
 * CrsSesiones generated by hbm2java
 */
@Entity
@Table(name = "crs_sesiones", schema = "public")
public class CrsSesiones implements java.io.Serializable {

	private long sesionid;
	private CrsDispositivos crsDispositivos;
	private CrsSolicitudes crsSolicitudes;
	private CrsPerfilMedico crsPerfilMedico;
	private Users users;
	private Date fechalta;
	private String dispositivoid;
	private String otroid;
	private String rutafichero;
	private short estadoid;
	private String observaciones;
	private Date fmod;
	private Short duracion;


	public CrsSesiones() {
	}

	public CrsSesiones(long sesionid, CrsDispositivos crsDispositivos,
			CrsSolicitudes crsSolicitudes, Users users, Date fechalta,
			String rutafichero, short estadoid, CrsPerfilMedico crsPerfilMedico, Short duracion) {
		this.sesionid = sesionid;
		this.crsDispositivos = crsDispositivos;
		this.crsSolicitudes = crsSolicitudes;
		this.users = users;
		this.fechalta = fechalta;
		this.rutafichero = rutafichero;
		this.estadoid = estadoid;
		this.crsPerfilMedico = crsPerfilMedico;
		this.duracion = duracion;

	}

	public CrsSesiones(long sesionid, CrsDispositivos crsDispositivos,
			CrsSolicitudes crsSolicitudes, Users users, Date fechalta,
			String dispositivoid, String otroid, String rutafichero,
			short estadoid, CrsPerfilMedico crsPerfilMedico, String observaciones, Date fmod,
			String modperfil, Short duracion) {
		this.sesionid = sesionid;
		this.crsDispositivos = crsDispositivos;
		this.crsSolicitudes = crsSolicitudes;
		this.users = users;
		this.fechalta = fechalta;
		this.dispositivoid = dispositivoid;
		this.otroid = otroid;
		this.rutafichero = rutafichero;
		this.estadoid = estadoid;
		this.crsPerfilMedico= crsPerfilMedico;
		this.observaciones = observaciones;
		this.fmod = fmod;
		this.duracion= duracion;
	}

	@Id
	@Column(name = "sesionid", unique = true, nullable = false)
	public long getSesionid() {
		return this.sesionid;
	}

	public void setSesionid(long sesionid) {
		this.sesionid = sesionid;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "dispid", nullable = true)
	public CrsDispositivos getCrsDispositivos() {
		return this.crsDispositivos;
	}

	public void setCrsDispositivos(CrsDispositivos crsDispositivos) {
		this.crsDispositivos = crsDispositivos;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "solicitudid", nullable = false)
	public CrsSolicitudes getCrsSolicitudes() {
		return this.crsSolicitudes;
	}

	public void setCrsSolicitudes(CrsSolicitudes crsSolicitudes) {
		this.crsSolicitudes = crsSolicitudes;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "moduserid", nullable = false)
	public Users getUsers() {
		return this.users;
	}

	public void setUsers(Users users) {
		this.users = users;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fechalta", nullable = false, length = 29)
	public Date getFechalta() {
		return this.fechalta;
	}

	public void setFechalta(Date fechalta) {
		this.fechalta = fechalta;
	}

	@Column(name = "dispositivoid", length = 30)
	public String getDispositivoid() {
		return this.dispositivoid;
	}

	public void setDispositivoid(String dispositivoid) {
		this.dispositivoid = dispositivoid;
	}

	@Column(name = "otroid")
	public String getOtroid() {
		return this.otroid;
	}

	public void setOtroid(String otroid) {
		this.otroid = otroid;
	}

	@Column(name = "rutafichero", nullable = true, length = 150)
	public String getRutafichero() {
		return this.rutafichero;
	}

	public void setRutafichero(String rutafichero) {
		this.rutafichero = rutafichero;
	}

	@Column(name = "estadoid", nullable = false)
	public short getEstadoid() {
		return this.estadoid;
	}

	public void setEstadoid(short estadoid) {
		this.estadoid = estadoid;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "medicoid", nullable = true)
	public CrsPerfilMedico getCrsPerfilMedico() {
		return this.crsPerfilMedico;
	}
	
	public void setCrsPerfilMedico(CrsPerfilMedico crsPerfilMedico) {
		this.crsPerfilMedico = crsPerfilMedico;
	}
	
	@Column(name = "observaciones", length = 500)
	public String getObservaciones() {
		return this.observaciones;
	}
	

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fmod", length = 13)
	public Date getFmod() {
		return this.fmod;
	}

	public void setFmod(Date fmod) {
		this.fmod = fmod;
	}

	
	
	@Column(name = "duracion", nullable = true, precision = 3, scale = 0)
	public Short getDuracion() {
		return duracion;
	}

	public void setDuracion(Short duracion) {
		this.duracion = duracion;
	}

	

}
